<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>编程入门到进大厂，你需要这套学习架构 | 鱼皮的编程宝典</title>
    <meta name="generator" content="VuePress 1.9.10">
    <link rel="icon" href="/favicon.ico">
    <script>
        var _hmt = _hmt || [];
        (function() {
          var hm = document.createElement("script");
          hm.src = "https://hm.baidu.com/hm.js?2675818a983a3131404cee835018f016";
          var s = document.getElementsByTagName("script")[0]; 
          s.parentNode.insertBefore(hm, s);
        })();
      </script>
    <meta name="description" content="贴心的编程学习路线，全面的编程知识百科">
    <meta property="article:modified_time" content="2023-11-11T12:17:47.000Z">
    <meta property="og:site_name" content="鱼皮的编程宝典">
    <meta property="og:title" content="编程入门到进大厂，你需要这套学习架构">
    <meta property="og:type" content="article">
    <meta property="og:url" content="https://codefather.cn/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E5%A4%A7%E5%8E%82-%E4%BD%A0%E9%9C%80%E8%A6%81%E8%BF%99%E5%A5%97%E5%AD%A6%E4%B9%A0%E6%9E%B6%E6%9E%84/">
    <meta name="twitter:title" content="编程入门到进大厂，你需要这套学习架构">
    <meta name="twitter:url" content="https://codefather.cn/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E5%A4%A7%E5%8E%82-%E4%BD%A0%E9%9C%80%E8%A6%81%E8%BF%99%E5%A5%97%E5%AD%A6%E4%B9%A0%E6%9E%B6%E6%9E%84/">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:label1" content="Written by">
    <meta name="twitter:label2" content="Filed under">
    <meta name="twitter:data2" content="程序员, 编程, 计算机">
    <meta property="article:tag" content="程序员">
    <meta name="keywords" content="程序员鱼皮, 编程学习路线, 编程知识百科, Java, 编程导航, 前端, 开发, 编程分享, 项目, IT, 求职, 面经">
    
    <link rel="preload" href="/assets/css/0.styles.40c15e22.css" as="style"><link rel="preload" href="/assets/js/app.12ab4756.js" as="script"><link rel="preload" href="/assets/js/2.fd06b53e.js" as="script"><link rel="preload" href="/assets/js/154.9c6bb079.js" as="script"><link rel="prefetch" href="/assets/js/1.17ea1209.js"><link rel="prefetch" href="/assets/js/10.d9532d8f.js"><link rel="prefetch" href="/assets/js/100.064ea126.js"><link rel="prefetch" href="/assets/js/101.d64c5b33.js"><link rel="prefetch" href="/assets/js/102.5e29a62c.js"><link rel="prefetch" href="/assets/js/103.59ad6cd7.js"><link rel="prefetch" href="/assets/js/104.ae4763e8.js"><link rel="prefetch" href="/assets/js/105.2a9124be.js"><link rel="prefetch" href="/assets/js/106.529bca07.js"><link rel="prefetch" href="/assets/js/107.c8671a0d.js"><link rel="prefetch" href="/assets/js/108.55c93c64.js"><link rel="prefetch" href="/assets/js/109.7d1efa54.js"><link rel="prefetch" href="/assets/js/11.2f89b5eb.js"><link rel="prefetch" href="/assets/js/110.0caecbf5.js"><link rel="prefetch" href="/assets/js/111.a2aeae49.js"><link rel="prefetch" href="/assets/js/112.eb7ceda5.js"><link rel="prefetch" href="/assets/js/113.f304408d.js"><link rel="prefetch" href="/assets/js/114.988c637f.js"><link rel="prefetch" href="/assets/js/115.bfdeed31.js"><link rel="prefetch" href="/assets/js/116.a47b8c53.js"><link rel="prefetch" href="/assets/js/117.2e1e8250.js"><link rel="prefetch" href="/assets/js/118.758ce408.js"><link rel="prefetch" href="/assets/js/119.73d9e688.js"><link rel="prefetch" href="/assets/js/12.53aaa509.js"><link rel="prefetch" href="/assets/js/120.202a8b2e.js"><link rel="prefetch" href="/assets/js/121.ca91d59a.js"><link rel="prefetch" href="/assets/js/122.8804c0dd.js"><link rel="prefetch" href="/assets/js/123.ceada225.js"><link rel="prefetch" href="/assets/js/124.4b2718b7.js"><link rel="prefetch" href="/assets/js/125.72134235.js"><link rel="prefetch" href="/assets/js/126.167b162c.js"><link rel="prefetch" href="/assets/js/127.f8139c17.js"><link rel="prefetch" href="/assets/js/128.da64a377.js"><link rel="prefetch" href="/assets/js/129.c07963b1.js"><link rel="prefetch" href="/assets/js/13.52940164.js"><link rel="prefetch" href="/assets/js/130.f66fc8bb.js"><link rel="prefetch" href="/assets/js/131.a913c7dd.js"><link rel="prefetch" href="/assets/js/132.ea648654.js"><link rel="prefetch" href="/assets/js/133.074ca70e.js"><link rel="prefetch" href="/assets/js/134.dc79ddd8.js"><link rel="prefetch" href="/assets/js/135.c4516208.js"><link rel="prefetch" href="/assets/js/136.2546baf7.js"><link rel="prefetch" href="/assets/js/137.56454fc6.js"><link rel="prefetch" href="/assets/js/138.bdb002bf.js"><link rel="prefetch" href="/assets/js/139.40a2f9b5.js"><link rel="prefetch" href="/assets/js/14.ade1e74d.js"><link rel="prefetch" href="/assets/js/140.06b20427.js"><link rel="prefetch" href="/assets/js/141.8dd992e3.js"><link rel="prefetch" href="/assets/js/142.d9305485.js"><link rel="prefetch" href="/assets/js/143.41bf907e.js"><link rel="prefetch" href="/assets/js/144.c138960c.js"><link rel="prefetch" href="/assets/js/145.fc5b38c8.js"><link rel="prefetch" href="/assets/js/146.c9166b70.js"><link rel="prefetch" href="/assets/js/147.c31d8a01.js"><link rel="prefetch" href="/assets/js/148.5c0534ca.js"><link rel="prefetch" href="/assets/js/149.d2355ea2.js"><link rel="prefetch" href="/assets/js/15.970a8ca5.js"><link rel="prefetch" href="/assets/js/150.c1644898.js"><link rel="prefetch" href="/assets/js/151.b6e4adf0.js"><link rel="prefetch" href="/assets/js/152.7a5071aa.js"><link rel="prefetch" href="/assets/js/153.31abbc68.js"><link rel="prefetch" href="/assets/js/155.e5506a40.js"><link rel="prefetch" href="/assets/js/156.992dab50.js"><link rel="prefetch" href="/assets/js/157.12a6ee84.js"><link rel="prefetch" href="/assets/js/158.84dc1045.js"><link rel="prefetch" href="/assets/js/159.fd2022b1.js"><link rel="prefetch" href="/assets/js/16.ff971500.js"><link rel="prefetch" href="/assets/js/160.8d8889cd.js"><link rel="prefetch" href="/assets/js/161.31797def.js"><link rel="prefetch" href="/assets/js/162.bfae7a75.js"><link rel="prefetch" href="/assets/js/163.e5e8094d.js"><link rel="prefetch" href="/assets/js/164.870f212c.js"><link rel="prefetch" href="/assets/js/165.8da20a31.js"><link rel="prefetch" href="/assets/js/166.950a187d.js"><link rel="prefetch" href="/assets/js/167.fd042c52.js"><link rel="prefetch" href="/assets/js/168.7d9f058d.js"><link rel="prefetch" href="/assets/js/169.205df80e.js"><link rel="prefetch" href="/assets/js/17.4b045b26.js"><link rel="prefetch" href="/assets/js/170.270108a3.js"><link rel="prefetch" href="/assets/js/171.9f03d27d.js"><link rel="prefetch" href="/assets/js/172.1882bac7.js"><link rel="prefetch" href="/assets/js/173.fc1fe7d4.js"><link rel="prefetch" href="/assets/js/174.d77c927b.js"><link rel="prefetch" href="/assets/js/175.019b9e83.js"><link rel="prefetch" href="/assets/js/176.5ce31bd8.js"><link rel="prefetch" href="/assets/js/177.9a2006f2.js"><link rel="prefetch" href="/assets/js/178.88265ac1.js"><link rel="prefetch" href="/assets/js/179.3205ce07.js"><link rel="prefetch" href="/assets/js/18.1cdd0514.js"><link rel="prefetch" href="/assets/js/180.2ff51f44.js"><link rel="prefetch" href="/assets/js/181.f792ce97.js"><link rel="prefetch" href="/assets/js/182.103328e1.js"><link rel="prefetch" href="/assets/js/183.40fde303.js"><link rel="prefetch" href="/assets/js/184.1f36ac78.js"><link rel="prefetch" href="/assets/js/185.cf3b1c00.js"><link rel="prefetch" href="/assets/js/186.f7981399.js"><link rel="prefetch" href="/assets/js/187.20fe296d.js"><link rel="prefetch" href="/assets/js/188.7b004fea.js"><link rel="prefetch" href="/assets/js/189.599ca2d9.js"><link rel="prefetch" href="/assets/js/19.5740e4d6.js"><link rel="prefetch" href="/assets/js/190.14087c07.js"><link rel="prefetch" href="/assets/js/191.b0f73f6d.js"><link rel="prefetch" href="/assets/js/192.9d171669.js"><link rel="prefetch" href="/assets/js/193.00975585.js"><link rel="prefetch" href="/assets/js/194.2c7c43b4.js"><link rel="prefetch" href="/assets/js/195.ff126254.js"><link rel="prefetch" href="/assets/js/196.6546ae1c.js"><link rel="prefetch" href="/assets/js/197.eedb67bb.js"><link rel="prefetch" href="/assets/js/198.acdcc22c.js"><link rel="prefetch" href="/assets/js/199.7993a6b2.js"><link rel="prefetch" href="/assets/js/20.8885a4fa.js"><link rel="prefetch" href="/assets/js/200.52f08765.js"><link rel="prefetch" href="/assets/js/201.b85ab10b.js"><link rel="prefetch" href="/assets/js/202.ccec1c85.js"><link rel="prefetch" href="/assets/js/203.3f50a6ed.js"><link rel="prefetch" href="/assets/js/204.f28b803b.js"><link rel="prefetch" href="/assets/js/205.c51c53fd.js"><link rel="prefetch" href="/assets/js/206.ba0aa8f6.js"><link rel="prefetch" href="/assets/js/207.0dce311a.js"><link rel="prefetch" href="/assets/js/208.0ea629a6.js"><link rel="prefetch" href="/assets/js/209.f48c3e71.js"><link rel="prefetch" href="/assets/js/21.0bb62db4.js"><link rel="prefetch" href="/assets/js/210.689db8f2.js"><link rel="prefetch" href="/assets/js/211.72bc0f1f.js"><link rel="prefetch" href="/assets/js/212.456135bd.js"><link rel="prefetch" href="/assets/js/213.d0ea50fc.js"><link rel="prefetch" href="/assets/js/214.1400da91.js"><link rel="prefetch" href="/assets/js/215.aeef3e5d.js"><link rel="prefetch" href="/assets/js/216.a60215af.js"><link rel="prefetch" href="/assets/js/217.d6cd8b69.js"><link rel="prefetch" href="/assets/js/218.1bd500fc.js"><link rel="prefetch" href="/assets/js/219.20faf611.js"><link rel="prefetch" href="/assets/js/22.3e8347a6.js"><link rel="prefetch" href="/assets/js/220.6714179b.js"><link rel="prefetch" href="/assets/js/221.fb5b643d.js"><link rel="prefetch" href="/assets/js/222.d96272e5.js"><link rel="prefetch" href="/assets/js/223.4cb7dc3d.js"><link rel="prefetch" href="/assets/js/224.500d94cc.js"><link rel="prefetch" href="/assets/js/225.d006c34e.js"><link rel="prefetch" href="/assets/js/226.73612150.js"><link rel="prefetch" href="/assets/js/227.b02db9d1.js"><link rel="prefetch" href="/assets/js/228.aad43ff2.js"><link rel="prefetch" href="/assets/js/229.65340802.js"><link rel="prefetch" href="/assets/js/23.ceb5a5ff.js"><link rel="prefetch" href="/assets/js/230.97cab104.js"><link rel="prefetch" href="/assets/js/231.8415349a.js"><link rel="prefetch" href="/assets/js/232.db6d2697.js"><link rel="prefetch" href="/assets/js/233.723d05b1.js"><link rel="prefetch" href="/assets/js/234.26ed5e94.js"><link rel="prefetch" href="/assets/js/235.a586122b.js"><link rel="prefetch" href="/assets/js/236.f802bda8.js"><link rel="prefetch" href="/assets/js/237.cc8767ad.js"><link rel="prefetch" href="/assets/js/238.6485459e.js"><link rel="prefetch" href="/assets/js/239.9fbf3a55.js"><link rel="prefetch" href="/assets/js/24.07267ac6.js"><link rel="prefetch" href="/assets/js/240.1188f244.js"><link rel="prefetch" href="/assets/js/241.cbfb154d.js"><link rel="prefetch" href="/assets/js/242.352cea5a.js"><link rel="prefetch" href="/assets/js/243.07947e1c.js"><link rel="prefetch" href="/assets/js/244.f5b26fa9.js"><link rel="prefetch" href="/assets/js/245.c6030e32.js"><link rel="prefetch" href="/assets/js/246.d3fe99f7.js"><link rel="prefetch" href="/assets/js/247.185ae95d.js"><link rel="prefetch" href="/assets/js/248.a5f1548c.js"><link rel="prefetch" href="/assets/js/249.19691113.js"><link rel="prefetch" href="/assets/js/25.15e1f641.js"><link rel="prefetch" href="/assets/js/250.72fa1d33.js"><link rel="prefetch" href="/assets/js/251.bedd56f7.js"><link rel="prefetch" href="/assets/js/252.32bbcc8b.js"><link rel="prefetch" href="/assets/js/253.b59e5846.js"><link rel="prefetch" href="/assets/js/254.c0e37e1a.js"><link rel="prefetch" href="/assets/js/255.850da3cc.js"><link rel="prefetch" href="/assets/js/256.952d9817.js"><link rel="prefetch" href="/assets/js/257.88667bb8.js"><link rel="prefetch" href="/assets/js/258.c5873c28.js"><link rel="prefetch" href="/assets/js/259.6ae1dcbc.js"><link rel="prefetch" href="/assets/js/26.35b2bbdc.js"><link rel="prefetch" href="/assets/js/260.cb940cc3.js"><link rel="prefetch" href="/assets/js/261.0686c3e9.js"><link rel="prefetch" href="/assets/js/262.d0719839.js"><link rel="prefetch" href="/assets/js/263.ae83ebc1.js"><link rel="prefetch" href="/assets/js/264.209ad8a3.js"><link rel="prefetch" href="/assets/js/265.be8d1ee8.js"><link rel="prefetch" href="/assets/js/266.c51bceaa.js"><link rel="prefetch" href="/assets/js/267.fe8af48a.js"><link rel="prefetch" href="/assets/js/268.e18ed861.js"><link rel="prefetch" href="/assets/js/269.7126031e.js"><link rel="prefetch" href="/assets/js/27.270fcb06.js"><link rel="prefetch" href="/assets/js/270.89ead106.js"><link rel="prefetch" href="/assets/js/271.0643d07a.js"><link rel="prefetch" href="/assets/js/272.32a8e4b0.js"><link rel="prefetch" href="/assets/js/273.9881da47.js"><link rel="prefetch" href="/assets/js/274.2de022ea.js"><link rel="prefetch" href="/assets/js/275.d9a4fe99.js"><link rel="prefetch" href="/assets/js/276.d33de2e9.js"><link rel="prefetch" href="/assets/js/277.1ec367ab.js"><link rel="prefetch" href="/assets/js/278.66ab7c11.js"><link rel="prefetch" href="/assets/js/279.ff51cd15.js"><link rel="prefetch" href="/assets/js/28.ef3f6db2.js"><link rel="prefetch" href="/assets/js/280.ef45ed5f.js"><link rel="prefetch" href="/assets/js/281.87f26b81.js"><link rel="prefetch" href="/assets/js/282.c8ef594b.js"><link rel="prefetch" href="/assets/js/283.15643091.js"><link rel="prefetch" href="/assets/js/284.c4f25b2e.js"><link rel="prefetch" href="/assets/js/285.2d16e4b6.js"><link rel="prefetch" href="/assets/js/286.44eba266.js"><link rel="prefetch" href="/assets/js/287.7613e62f.js"><link rel="prefetch" href="/assets/js/288.b9546d55.js"><link rel="prefetch" href="/assets/js/289.125f85d8.js"><link rel="prefetch" href="/assets/js/29.177558be.js"><link rel="prefetch" href="/assets/js/290.db375797.js"><link rel="prefetch" href="/assets/js/291.90946626.js"><link rel="prefetch" href="/assets/js/292.a4524678.js"><link rel="prefetch" href="/assets/js/293.3ed9b083.js"><link rel="prefetch" href="/assets/js/294.d6c14116.js"><link rel="prefetch" href="/assets/js/295.2b485032.js"><link rel="prefetch" href="/assets/js/296.29d9aa0f.js"><link rel="prefetch" href="/assets/js/297.bfd72435.js"><link rel="prefetch" href="/assets/js/298.fc056989.js"><link rel="prefetch" href="/assets/js/299.0a3f258e.js"><link rel="prefetch" href="/assets/js/3.4dc033c7.js"><link rel="prefetch" href="/assets/js/30.248a229d.js"><link rel="prefetch" href="/assets/js/300.d064d776.js"><link rel="prefetch" href="/assets/js/301.d95b9fc0.js"><link rel="prefetch" href="/assets/js/302.1afa637a.js"><link rel="prefetch" href="/assets/js/303.231beaa8.js"><link rel="prefetch" href="/assets/js/304.05df35d9.js"><link rel="prefetch" href="/assets/js/305.f2d83cf9.js"><link rel="prefetch" href="/assets/js/306.d54f5e5e.js"><link rel="prefetch" href="/assets/js/307.d5df9000.js"><link rel="prefetch" href="/assets/js/308.ef2f52b3.js"><link rel="prefetch" href="/assets/js/309.d1f13319.js"><link rel="prefetch" href="/assets/js/31.32a62b91.js"><link rel="prefetch" href="/assets/js/310.30b84be3.js"><link rel="prefetch" href="/assets/js/311.d79e3145.js"><link rel="prefetch" href="/assets/js/312.58e24f19.js"><link rel="prefetch" href="/assets/js/313.9809a122.js"><link rel="prefetch" href="/assets/js/314.e92e41b1.js"><link rel="prefetch" href="/assets/js/315.8c2fc1d4.js"><link rel="prefetch" href="/assets/js/316.a0904343.js"><link rel="prefetch" href="/assets/js/317.18e42b54.js"><link rel="prefetch" href="/assets/js/318.6b051d27.js"><link rel="prefetch" href="/assets/js/319.513b0197.js"><link rel="prefetch" href="/assets/js/32.23b75afc.js"><link rel="prefetch" href="/assets/js/320.ae91bc36.js"><link rel="prefetch" href="/assets/js/321.a194efea.js"><link rel="prefetch" href="/assets/js/322.8273020e.js"><link rel="prefetch" href="/assets/js/323.d332e08f.js"><link rel="prefetch" href="/assets/js/324.ed867b64.js"><link rel="prefetch" href="/assets/js/325.c43ccf9a.js"><link rel="prefetch" href="/assets/js/326.9497d879.js"><link rel="prefetch" href="/assets/js/327.7f095e40.js"><link rel="prefetch" href="/assets/js/328.cb5c5847.js"><link rel="prefetch" href="/assets/js/329.d36b59f3.js"><link rel="prefetch" href="/assets/js/33.b258b779.js"><link rel="prefetch" href="/assets/js/330.b1a092b9.js"><link rel="prefetch" href="/assets/js/331.ff86566f.js"><link rel="prefetch" href="/assets/js/332.0daafa9f.js"><link rel="prefetch" href="/assets/js/333.b7e50524.js"><link rel="prefetch" href="/assets/js/334.7dcf9f0b.js"><link rel="prefetch" href="/assets/js/335.862c410a.js"><link rel="prefetch" href="/assets/js/336.c6384990.js"><link rel="prefetch" href="/assets/js/337.ab9d5e52.js"><link rel="prefetch" href="/assets/js/338.598ae59e.js"><link rel="prefetch" href="/assets/js/339.9b810ff8.js"><link rel="prefetch" href="/assets/js/34.3bd60f1f.js"><link rel="prefetch" href="/assets/js/340.5609a53c.js"><link rel="prefetch" href="/assets/js/341.969d335a.js"><link rel="prefetch" href="/assets/js/342.43f85dba.js"><link rel="prefetch" href="/assets/js/343.47280ef9.js"><link rel="prefetch" href="/assets/js/344.346ae5fc.js"><link rel="prefetch" href="/assets/js/345.32166361.js"><link rel="prefetch" href="/assets/js/346.86ff128b.js"><link rel="prefetch" href="/assets/js/347.3c5421fe.js"><link rel="prefetch" href="/assets/js/348.95910300.js"><link rel="prefetch" href="/assets/js/349.004158d8.js"><link rel="prefetch" href="/assets/js/35.18e8f66a.js"><link rel="prefetch" href="/assets/js/350.e10b195b.js"><link rel="prefetch" href="/assets/js/351.12f89875.js"><link rel="prefetch" href="/assets/js/352.83957394.js"><link rel="prefetch" href="/assets/js/353.475971b9.js"><link rel="prefetch" href="/assets/js/354.8af7b26b.js"><link rel="prefetch" href="/assets/js/355.85925e24.js"><link rel="prefetch" href="/assets/js/356.1d77cf9c.js"><link rel="prefetch" href="/assets/js/357.b467d481.js"><link rel="prefetch" href="/assets/js/358.ac96f32d.js"><link rel="prefetch" href="/assets/js/359.e048bd10.js"><link rel="prefetch" href="/assets/js/36.a7ae257c.js"><link rel="prefetch" href="/assets/js/360.e9b45545.js"><link rel="prefetch" href="/assets/js/361.ad1bb45b.js"><link rel="prefetch" href="/assets/js/362.4e24a30b.js"><link rel="prefetch" href="/assets/js/363.64f7dad5.js"><link rel="prefetch" href="/assets/js/364.d9e3ebc2.js"><link rel="prefetch" href="/assets/js/365.330e3086.js"><link rel="prefetch" href="/assets/js/366.a6c0afb3.js"><link rel="prefetch" href="/assets/js/367.ffcefa40.js"><link rel="prefetch" href="/assets/js/368.664c8e4d.js"><link rel="prefetch" href="/assets/js/369.67da2dd2.js"><link rel="prefetch" href="/assets/js/37.d709f9a9.js"><link rel="prefetch" href="/assets/js/370.b1791970.js"><link rel="prefetch" href="/assets/js/371.743a461a.js"><link rel="prefetch" href="/assets/js/372.7703ef1b.js"><link rel="prefetch" href="/assets/js/373.17de31f6.js"><link rel="prefetch" href="/assets/js/374.e508be9e.js"><link rel="prefetch" href="/assets/js/375.6e2e9fe3.js"><link rel="prefetch" href="/assets/js/376.8ca3511a.js"><link rel="prefetch" href="/assets/js/377.bfcee39c.js"><link rel="prefetch" href="/assets/js/378.21852b78.js"><link rel="prefetch" href="/assets/js/379.9649c307.js"><link rel="prefetch" href="/assets/js/38.68ca920e.js"><link rel="prefetch" href="/assets/js/380.dadb4418.js"><link rel="prefetch" href="/assets/js/381.a03c993d.js"><link rel="prefetch" href="/assets/js/382.bb7c22c1.js"><link rel="prefetch" href="/assets/js/383.bd68b2e5.js"><link rel="prefetch" href="/assets/js/384.f6dc7457.js"><link rel="prefetch" href="/assets/js/385.14287a91.js"><link rel="prefetch" href="/assets/js/386.a6284ac2.js"><link rel="prefetch" href="/assets/js/387.c51f147a.js"><link rel="prefetch" href="/assets/js/388.06d9651e.js"><link rel="prefetch" href="/assets/js/389.2d85d927.js"><link rel="prefetch" href="/assets/js/39.de850db9.js"><link rel="prefetch" href="/assets/js/390.2397b3e0.js"><link rel="prefetch" href="/assets/js/391.8413aaaf.js"><link rel="prefetch" href="/assets/js/392.00eecaa4.js"><link rel="prefetch" href="/assets/js/393.351dd3fd.js"><link rel="prefetch" href="/assets/js/394.d2cc4a70.js"><link rel="prefetch" href="/assets/js/395.abee64bf.js"><link rel="prefetch" href="/assets/js/396.bc265e6a.js"><link rel="prefetch" href="/assets/js/397.e4a96944.js"><link rel="prefetch" href="/assets/js/398.f0d26b29.js"><link rel="prefetch" href="/assets/js/399.e77c3ddc.js"><link rel="prefetch" href="/assets/js/4.2f502b73.js"><link rel="prefetch" href="/assets/js/40.91635261.js"><link rel="prefetch" href="/assets/js/400.c7eac401.js"><link rel="prefetch" href="/assets/js/401.06092d16.js"><link rel="prefetch" href="/assets/js/402.4e08e496.js"><link rel="prefetch" href="/assets/js/403.deba4c77.js"><link rel="prefetch" href="/assets/js/404.9100e4df.js"><link rel="prefetch" href="/assets/js/405.e9f451e2.js"><link rel="prefetch" href="/assets/js/406.a0da4aa4.js"><link rel="prefetch" href="/assets/js/407.58b2b123.js"><link rel="prefetch" href="/assets/js/408.eb2cde2d.js"><link rel="prefetch" href="/assets/js/409.9041f749.js"><link rel="prefetch" href="/assets/js/41.169a3cfc.js"><link rel="prefetch" href="/assets/js/410.c12f3710.js"><link rel="prefetch" href="/assets/js/411.452cda45.js"><link rel="prefetch" href="/assets/js/412.8691317a.js"><link rel="prefetch" href="/assets/js/413.25a68f21.js"><link rel="prefetch" href="/assets/js/414.7a9699d8.js"><link rel="prefetch" href="/assets/js/415.6e8cdaff.js"><link rel="prefetch" href="/assets/js/416.e8a86529.js"><link rel="prefetch" href="/assets/js/417.28330bde.js"><link rel="prefetch" href="/assets/js/418.2fed8e17.js"><link rel="prefetch" href="/assets/js/419.773032f4.js"><link rel="prefetch" href="/assets/js/42.e17cd061.js"><link rel="prefetch" href="/assets/js/420.56681228.js"><link rel="prefetch" href="/assets/js/421.0d170e13.js"><link rel="prefetch" href="/assets/js/422.fc8c2a11.js"><link rel="prefetch" href="/assets/js/423.e34ea6a6.js"><link rel="prefetch" href="/assets/js/424.20fe8748.js"><link rel="prefetch" href="/assets/js/425.f001b7cd.js"><link rel="prefetch" href="/assets/js/426.a91230ef.js"><link rel="prefetch" href="/assets/js/427.c6c9fe8d.js"><link rel="prefetch" href="/assets/js/428.9d4f5e41.js"><link rel="prefetch" href="/assets/js/429.c81cfd3f.js"><link rel="prefetch" href="/assets/js/43.f88aa667.js"><link rel="prefetch" href="/assets/js/430.eb61372f.js"><link rel="prefetch" href="/assets/js/431.4a25365a.js"><link rel="prefetch" href="/assets/js/432.42fc1bbe.js"><link rel="prefetch" href="/assets/js/433.8e9ac9f0.js"><link rel="prefetch" href="/assets/js/434.fdd0b160.js"><link rel="prefetch" href="/assets/js/435.d6cbac31.js"><link rel="prefetch" href="/assets/js/436.17750ba2.js"><link rel="prefetch" href="/assets/js/437.a1468099.js"><link rel="prefetch" href="/assets/js/438.ac6a45c2.js"><link rel="prefetch" href="/assets/js/439.242ae27a.js"><link rel="prefetch" href="/assets/js/44.3f36e228.js"><link rel="prefetch" href="/assets/js/440.b80b520c.js"><link rel="prefetch" href="/assets/js/441.e51a4bbb.js"><link rel="prefetch" href="/assets/js/442.ab0b3eda.js"><link rel="prefetch" href="/assets/js/443.47e44250.js"><link rel="prefetch" href="/assets/js/444.54c3b425.js"><link rel="prefetch" href="/assets/js/445.e006c12e.js"><link rel="prefetch" href="/assets/js/446.f2b79730.js"><link rel="prefetch" href="/assets/js/447.2509a397.js"><link rel="prefetch" href="/assets/js/448.b7d69dfc.js"><link rel="prefetch" href="/assets/js/449.8a575d9b.js"><link rel="prefetch" href="/assets/js/45.be1455b1.js"><link rel="prefetch" href="/assets/js/450.ad421aeb.js"><link rel="prefetch" href="/assets/js/451.f09912ae.js"><link rel="prefetch" href="/assets/js/452.f528c4ce.js"><link rel="prefetch" href="/assets/js/453.fc4dc0f9.js"><link rel="prefetch" href="/assets/js/454.733c315c.js"><link rel="prefetch" href="/assets/js/455.44fe35b1.js"><link rel="prefetch" href="/assets/js/456.7f650035.js"><link rel="prefetch" href="/assets/js/457.77ebc183.js"><link rel="prefetch" href="/assets/js/458.133078f4.js"><link rel="prefetch" href="/assets/js/459.33728b5e.js"><link rel="prefetch" href="/assets/js/46.5ad74cb5.js"><link rel="prefetch" href="/assets/js/460.6946f564.js"><link rel="prefetch" href="/assets/js/461.6f906c5c.js"><link rel="prefetch" href="/assets/js/462.26eca27e.js"><link rel="prefetch" href="/assets/js/463.e02e5f65.js"><link rel="prefetch" href="/assets/js/464.0df25c63.js"><link rel="prefetch" href="/assets/js/465.80cd249e.js"><link rel="prefetch" href="/assets/js/466.a0921e86.js"><link rel="prefetch" href="/assets/js/467.1bec2b47.js"><link rel="prefetch" href="/assets/js/468.b6fa37c1.js"><link rel="prefetch" href="/assets/js/469.a1d2487e.js"><link rel="prefetch" href="/assets/js/47.03df5d0a.js"><link rel="prefetch" href="/assets/js/470.36a4b9c8.js"><link rel="prefetch" href="/assets/js/471.28895273.js"><link rel="prefetch" href="/assets/js/472.b9fe392f.js"><link rel="prefetch" href="/assets/js/473.a2835d9c.js"><link rel="prefetch" href="/assets/js/474.cd57b37d.js"><link rel="prefetch" href="/assets/js/475.8d5a9792.js"><link rel="prefetch" href="/assets/js/476.f7f3781c.js"><link rel="prefetch" href="/assets/js/477.9b710b04.js"><link rel="prefetch" href="/assets/js/478.46d66687.js"><link rel="prefetch" href="/assets/js/479.e7444705.js"><link rel="prefetch" href="/assets/js/48.48f286ba.js"><link rel="prefetch" href="/assets/js/480.da2b750a.js"><link rel="prefetch" href="/assets/js/481.838a8e04.js"><link rel="prefetch" href="/assets/js/482.02bf8041.js"><link rel="prefetch" href="/assets/js/483.bb29ef2f.js"><link rel="prefetch" href="/assets/js/484.aebb68bd.js"><link rel="prefetch" href="/assets/js/485.a66ab41b.js"><link rel="prefetch" href="/assets/js/486.8df516fb.js"><link rel="prefetch" href="/assets/js/487.86d28130.js"><link rel="prefetch" href="/assets/js/488.0863da70.js"><link rel="prefetch" href="/assets/js/489.5d4d9e88.js"><link rel="prefetch" href="/assets/js/49.1ca52d11.js"><link rel="prefetch" href="/assets/js/490.3fd65d85.js"><link rel="prefetch" href="/assets/js/491.ae3a2f87.js"><link rel="prefetch" href="/assets/js/492.6f54679b.js"><link rel="prefetch" href="/assets/js/493.a594b1f4.js"><link rel="prefetch" href="/assets/js/494.4f03fae1.js"><link rel="prefetch" href="/assets/js/495.ae50b66b.js"><link rel="prefetch" href="/assets/js/496.bc92d835.js"><link rel="prefetch" href="/assets/js/497.eac65251.js"><link rel="prefetch" href="/assets/js/498.1d726726.js"><link rel="prefetch" href="/assets/js/499.01e4f7d1.js"><link rel="prefetch" href="/assets/js/5.7b1f056c.js"><link rel="prefetch" href="/assets/js/50.73732fe2.js"><link rel="prefetch" href="/assets/js/500.062ade4e.js"><link rel="prefetch" href="/assets/js/501.e6a711dc.js"><link rel="prefetch" href="/assets/js/502.c79e28e2.js"><link rel="prefetch" href="/assets/js/503.bf97bce9.js"><link rel="prefetch" href="/assets/js/504.b2784ef0.js"><link rel="prefetch" href="/assets/js/505.0767ba54.js"><link rel="prefetch" href="/assets/js/506.8ae14637.js"><link rel="prefetch" href="/assets/js/507.003e2349.js"><link rel="prefetch" href="/assets/js/508.ecb5e6bd.js"><link rel="prefetch" href="/assets/js/509.b644f44a.js"><link rel="prefetch" href="/assets/js/51.bed7cf61.js"><link rel="prefetch" href="/assets/js/510.b660946f.js"><link rel="prefetch" href="/assets/js/511.cb186c8f.js"><link rel="prefetch" href="/assets/js/512.d176170f.js"><link rel="prefetch" href="/assets/js/513.18a1afa5.js"><link rel="prefetch" href="/assets/js/514.4a33e931.js"><link rel="prefetch" href="/assets/js/515.8496bd4d.js"><link rel="prefetch" href="/assets/js/516.529b9476.js"><link rel="prefetch" href="/assets/js/517.289738f1.js"><link rel="prefetch" href="/assets/js/518.eda39556.js"><link rel="prefetch" href="/assets/js/519.85b42de5.js"><link rel="prefetch" href="/assets/js/52.22a7da62.js"><link rel="prefetch" href="/assets/js/520.8b531775.js"><link rel="prefetch" href="/assets/js/521.8e4b66fb.js"><link rel="prefetch" href="/assets/js/522.050bfc55.js"><link rel="prefetch" href="/assets/js/523.e973f1e0.js"><link rel="prefetch" href="/assets/js/524.fd160738.js"><link rel="prefetch" href="/assets/js/525.5a4bc307.js"><link rel="prefetch" href="/assets/js/526.361bc4fa.js"><link rel="prefetch" href="/assets/js/527.06ee9d73.js"><link rel="prefetch" href="/assets/js/528.22d9b118.js"><link rel="prefetch" href="/assets/js/529.b7592c16.js"><link rel="prefetch" href="/assets/js/53.767f3bbf.js"><link rel="prefetch" href="/assets/js/530.ad96d564.js"><link rel="prefetch" href="/assets/js/531.61905243.js"><link rel="prefetch" href="/assets/js/532.11aebf61.js"><link rel="prefetch" href="/assets/js/533.0cddb226.js"><link rel="prefetch" href="/assets/js/534.d1c9cc36.js"><link rel="prefetch" href="/assets/js/54.d1f9eec8.js"><link rel="prefetch" href="/assets/js/55.aa90e812.js"><link rel="prefetch" href="/assets/js/56.4d7f81f2.js"><link rel="prefetch" href="/assets/js/57.3c540e8d.js"><link rel="prefetch" href="/assets/js/58.fc1c23f2.js"><link rel="prefetch" href="/assets/js/59.c7a7a4c0.js"><link rel="prefetch" href="/assets/js/6.056886f1.js"><link rel="prefetch" href="/assets/js/60.40e590ae.js"><link rel="prefetch" href="/assets/js/61.e400b323.js"><link rel="prefetch" href="/assets/js/62.bbb30ef1.js"><link rel="prefetch" href="/assets/js/63.c31cd2bb.js"><link rel="prefetch" href="/assets/js/64.62321188.js"><link rel="prefetch" href="/assets/js/65.44adc2b3.js"><link rel="prefetch" href="/assets/js/66.b5740d4f.js"><link rel="prefetch" href="/assets/js/67.76c3624c.js"><link rel="prefetch" href="/assets/js/68.6dd982d4.js"><link rel="prefetch" href="/assets/js/69.eb1390ec.js"><link rel="prefetch" href="/assets/js/7.a96cecf9.js"><link rel="prefetch" href="/assets/js/70.8c882bdd.js"><link rel="prefetch" href="/assets/js/71.001c968a.js"><link rel="prefetch" href="/assets/js/72.ae4ca075.js"><link rel="prefetch" href="/assets/js/73.d6ae6a27.js"><link rel="prefetch" href="/assets/js/74.fba60e37.js"><link rel="prefetch" href="/assets/js/75.0b1bf7bf.js"><link rel="prefetch" href="/assets/js/76.ee19d90e.js"><link rel="prefetch" href="/assets/js/77.fe8ac5f0.js"><link rel="prefetch" href="/assets/js/78.ae09432e.js"><link rel="prefetch" href="/assets/js/79.c1b10e2d.js"><link rel="prefetch" href="/assets/js/80.ae809538.js"><link rel="prefetch" href="/assets/js/81.ca11b4c7.js"><link rel="prefetch" href="/assets/js/82.308b98e4.js"><link rel="prefetch" href="/assets/js/83.355d9dde.js"><link rel="prefetch" href="/assets/js/84.a2b61d48.js"><link rel="prefetch" href="/assets/js/85.cf992fda.js"><link rel="prefetch" href="/assets/js/86.f547c7ea.js"><link rel="prefetch" href="/assets/js/87.2b02746a.js"><link rel="prefetch" href="/assets/js/88.e939aad5.js"><link rel="prefetch" href="/assets/js/89.b000c42a.js"><link rel="prefetch" href="/assets/js/90.dadef001.js"><link rel="prefetch" href="/assets/js/91.c0fe2e32.js"><link rel="prefetch" href="/assets/js/92.e09650b9.js"><link rel="prefetch" href="/assets/js/93.427c7280.js"><link rel="prefetch" href="/assets/js/94.90fc5f58.js"><link rel="prefetch" href="/assets/js/95.13d42b3a.js"><link rel="prefetch" href="/assets/js/96.d0a2ea8c.js"><link rel="prefetch" href="/assets/js/97.cc9a0eda.js"><link rel="prefetch" href="/assets/js/98.3c9f1b7e.js"><link rel="prefetch" href="/assets/js/99.0420dcbc.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.33b2b47d.js">
    <link rel="stylesheet" href="/assets/css/0.styles.40c15e22.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/logo.png" alt="鱼皮的编程宝典" class="logo"> <span class="site-name can-hide">鱼皮的编程宝典</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/学习路线/" class="nav-link">
  学习路线
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="自学之路" class="dropdown-title"><span class="title">自学之路</span> <span class="arrow down"></span></button> <button type="button" aria-label="自学之路" class="mobile-dropdown-title"><span class="title">自学之路</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/自学之路/#大学经历" class="nav-link">
  大学经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#求职经历" class="nav-link">
  求职经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#职场工作" class="nav-link">
  职场工作
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创作经历" class="nav-link">
  创作经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创业经历" class="nav-link">
  创业经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#生活日常" class="nav-link">
  生活日常
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="编程分享" class="dropdown-title"><span class="title">编程分享</span> <span class="arrow down"></span></button> <button type="button" aria-label="编程分享" class="mobile-dropdown-title"><span class="title">编程分享</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/编程分享/#入门必看-学习路线" class="nav-link">
  入门必看-学习路线
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#学习指南" class="nav-link">
  学习指南
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#开发经验" class="nav-link">
  开发经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#求职经验" class="nav-link">
  求职经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#职场经验" class="nav-link">
  职场经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#技术分享" class="nav-link">
  技术分享
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#实战教程" class="nav-link">
  实战教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#其他" class="nav-link">
  其他
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#📚-项目教程" class="nav-link">
  项目教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#个人作品" class="nav-link">
  个人作品
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🎁-编程资源" class="nav-link">
  编程资源
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🌐-科技科普" class="nav-link">
  科技科普
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="项目实战" class="dropdown-title"><span class="title">项目实战</span> <span class="arrow down"></span></button> <button type="button" aria-label="项目实战" class="mobile-dropdown-title"><span class="title">项目实战</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/项目实战/OJ 判题系统.html" class="nav-link">
  OJ 判题系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/智能 BI 平台.html" class="nav-link">
  智能 BI 平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/聚合搜索平台.html" class="nav-link">
  聚合搜索平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/API 开放平台.html" class="nav-link">
  API 开放平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/伙伴匹配系统.html" class="nav-link">
  伙伴匹配系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/用户中心项目.html" class="nav-link">
  用户中心项目
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/Java 后端万用项目模板.html" class="nav-link">
  Java 后端万用项目模板
</a></li></ul></div></div><div class="nav-item"><a href="/知识碎片/" class="nav-link">
  知识碎片
</a></div><div class="nav-item"><a href="/编程导航/" class="nav-link">
  🔥 编程导航
</a></div><div class="nav-item"><a href="/产品服务/" class="nav-link">
  产品服务
</a></div><div class="nav-item"><a href="/作者/" class="nav-link">
  作者
</a></div> <a href="https://github.com/liyupi/codefather" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/学习路线/" class="nav-link">
  学习路线
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="自学之路" class="dropdown-title"><span class="title">自学之路</span> <span class="arrow down"></span></button> <button type="button" aria-label="自学之路" class="mobile-dropdown-title"><span class="title">自学之路</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/自学之路/#大学经历" class="nav-link">
  大学经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#求职经历" class="nav-link">
  求职经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#职场工作" class="nav-link">
  职场工作
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创作经历" class="nav-link">
  创作经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#创业经历" class="nav-link">
  创业经历
</a></li><li class="dropdown-item"><!----> <a href="/自学之路/#生活日常" class="nav-link">
  生活日常
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="编程分享" class="dropdown-title"><span class="title">编程分享</span> <span class="arrow down"></span></button> <button type="button" aria-label="编程分享" class="mobile-dropdown-title"><span class="title">编程分享</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/编程分享/#入门必看-学习路线" class="nav-link">
  入门必看-学习路线
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#学习指南" class="nav-link">
  学习指南
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#开发经验" class="nav-link">
  开发经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#求职经验" class="nav-link">
  求职经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#职场经验" class="nav-link">
  职场经验
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#技术分享" class="nav-link">
  技术分享
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#实战教程" class="nav-link">
  实战教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#其他" class="nav-link">
  其他
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#📚-项目教程" class="nav-link">
  项目教程
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#个人作品" class="nav-link">
  个人作品
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🎁-编程资源" class="nav-link">
  编程资源
</a></li><li class="dropdown-item"><!----> <a href="/编程分享/#🌐-科技科普" class="nav-link">
  科技科普
</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="项目实战" class="dropdown-title"><span class="title">项目实战</span> <span class="arrow down"></span></button> <button type="button" aria-label="项目实战" class="mobile-dropdown-title"><span class="title">项目实战</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/项目实战/OJ 判题系统.html" class="nav-link">
  OJ 判题系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/智能 BI 平台.html" class="nav-link">
  智能 BI 平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/聚合搜索平台.html" class="nav-link">
  聚合搜索平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/API 开放平台.html" class="nav-link">
  API 开放平台
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/伙伴匹配系统.html" class="nav-link">
  伙伴匹配系统
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/用户中心项目.html" class="nav-link">
  用户中心项目
</a></li><li class="dropdown-item"><!----> <a href="/项目实战/Java 后端万用项目模板.html" class="nav-link">
  Java 后端万用项目模板
</a></li></ul></div></div><div class="nav-item"><a href="/知识碎片/" class="nav-link">
  知识碎片
</a></div><div class="nav-item"><a href="/编程导航/" class="nav-link">
  🔥 编程导航
</a></div><div class="nav-item"><a href="/产品服务/" class="nav-link">
  产品服务
</a></div><div class="nav-item"><a href="/作者/" class="nav-link">
  作者
</a></div> <a href="https://github.com/liyupi/codefather" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav>  <ul class="sidebar-links"><li><a href="/%E7%BC%96%E7%A8%8B%E5%88%86%E4%BA%AB/" class="sidebar-link">入门必看 - 学习路线</a></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>入门必看-学习路线</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>学习指南</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开发经验</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>求职经验</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>职场经验</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>技术分享</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>实战教程</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>项目教程</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>编程资源</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>科技科普</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="content"><div style="width:100%"><div class="theme-default-content custom-content content__default"><h1 id="编程入门到进大厂-你需要这套学习架构"><a href="#编程入门到进大厂-你需要这套学习架构" class="header-anchor">#</a> 编程入门到进大厂，你需要这套学习架构</h1> <blockquote><p>本文作者：<a href="https://yuyuanweb.feishu.cn/wiki/Abldw5WkjidySxkKxU2cQdAtnah" target="_blank" rel="noopener noreferrer">程序员鱼皮<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>本站地址：<a href="https://codefather.cn" target="_blank" rel="noopener noreferrer">https://codefather.cn<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></blockquote> <p>我相信大多数学习编程的同学都有着对大公司的憧憬。技术、声望、薪资、福利，这些都足以成为吸引你进入大厂的理由。</p> <p>但是，如何进入大厂呢？</p> <p>对于很多同学来说，通往大厂的道路并不明朗，不知道是否有希望，也不知道怎么努力，感觉遥不可及。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236546.jpeg" loading="lazy" class="lazy"></p> <p>其实，我身边有很多成功拿到大厂 offer 的同学，他们并不都是大家想象中的 985 名校硕士、竞赛金牌、开源大佬、编程神童。相反，我看到了很多背景一般却凭实力冲进大厂的同学，而且他们在工作中的表现非常出彩！</p> <p>通过和这些同学的交流，我发现他们在编程学习和求职方法上有一些共性，再结合自己的真实经历，我总结了一套<strong>较通用的编程学习和求职架构</strong>。</p> <p>无论你现在处于编程学习的哪个阶段，又或者只是对编程有兴趣，下面的内容都会对你有一定帮助。让你看到更清晰的未来，并为之而努力。</p> <hr> <p>首先，要明确一点，编程学习没有捷径！必须明晰目标、拉长战线、掌握技巧、持续学习、做足准备，才能立于不败之地。</p> <p>下图是我总结的编程学习架构：</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236699.png" loading="lazy" class="lazy">编程学习架构</p> <p>如图，我将编程学习分为 7 个部分。为什么叫做 “学习架构” 而不是 “学习路线” 呢？因为在编程学习中，有些事情不是严格按照顺序去做，而是在我们整个学习过程中都要长期坚持的。</p> <p>下面详细解释一下这套编程学习架构的 7 个部分。</p> <h4 id="_1-初入茅庐-海纳百川"><a href="#_1-初入茅庐-海纳百川" class="header-anchor">#</a> 1. 初入茅庐，海纳百川</h4> <p>刚开始学习编程时，难免会感到迷茫，如果你初入大学，会发现身边大多数的同学选择加入了学生会、各种社团来丰富校园生活，而不是一门心思去学习。其实这个阶段，并不需要太过关心和考虑以后找工作的问题，要做的事情就是学好大学的一些通识课程，保证成绩不能太差。不要提成绩无用论，除了学校之外，高的绩点也是简历的牌面，如果能取得前几名的好成绩，是绝对的加分项！</p> <p>对于计算机专业的同学，刚开始并不会接触到很深入的知识，也很少有机会去开发一个完整的作品。基本都是学习 <code>C</code>、<code>C++</code> 等编程语言，因为涉及和能够学习到的知识相对丰富。但是，想要学好编程，课本上的知识是远远不够的，一定要<strong>自学</strong>！</p> <p>自学什么呢？</p> <p>其实刚开始的时候大家并不知道自己擅长什么、真正喜欢什么、以后想做什么、从事哪方面的工作，因此，可以 “海纳百川”，多了解和尝试各种编程语言、技术框架、专业知识等。比如在课堂教的编程语言之外，去自主学习下 Web 网站开发或者 <code>Python</code>。</p> <p>怎么自主学习呢？看书？</p> <p>过去几十年，我们的学习几乎一直依赖书本。但是如今，互联网上资源非常丰富，为我们自学编程提供了很大的方便。可以选择看纸质书、电子书，但是一定不要直接去啃那些很复杂的理论书籍，而是选择一些轻松有趣、相对简单、案例丰富的书籍。除了看书之外，可以选择 <code>W3Cschool</code>、实验楼、<code>FreeCodeCamp</code> 等在线学习网站，边学边敲代码练习。还可以去 B 站上搜索一些视频教程，可能要比啃书学习要轻松得多！</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236649.png" loading="lazy" class="lazy">W3Cschool 在线编程入门实战</p> <p>但是，无论你选择何种方式去学习，<strong>一定要边学边练习</strong>，不必局限于一些习题或书中的代码片段，可以试着发挥自己的创意，去编写一些简单的网站或者实用的小工具，相信你会收获成就感，逐渐对编程产生兴趣。</p> <p>这个阶段，除非你有非常明确的学习方向，否则没有必要对某一门技术过于执着，毕竟计算机领域很多技术和知识点是相通的，前期先多学习一些简单易懂的知识，会让编程学习轻松有趣一些。</p> <h4 id="_2-兴趣使然-纵横交贯"><a href="#_2-兴趣使然-纵横交贯" class="header-anchor">#</a> 2. 兴趣使然，纵横交贯</h4> <p>上一个阶段重在培养我们对编程学习的兴趣，当你学习了一些编程知识和编程语言后，你已经对很多零碎的知识产生了印象，后面学习新知识也会比之前更加容易和迅速。</p> <p>这个阶段是你编程能力开始突飞猛进的时候。由于时间和精力有限，你要做的是从你已经学到的知识库中挑选出相对感兴趣的部分，比如某一门编程语言（比如 <code>Java</code>），或者是某一个领域（比如 <code>NLP</code>）。然后对这部分知识进行相对深层次的学习，可以去读一本经典的书籍，了解这门技术的特性，甚至是阅读相关源码。</p> <p>在重点深入学习一门技术的同时，还需要继续保持开放，接触更多的新知识，而不是深陷其中、无法自拔。计算机的很多知识是相互关联的，如果多学习一些不同方面的知识，我们更容易将那些零碎的知识点串联成网，从而开拓思维，得到更大的收益。</p> <p>但是，算法、数据结构、计算机网络等知识点比较特殊，即使没有兴趣，也要认真地去学习！因为它们可以培养你的思维，提升你的程序设计能力，对于程序员来说太重要了。毕竟大多编程语言都是相通的，<strong>语言只是工具，思想才是武器</strong>。</p> <p>听起来可能比较抽象，但在实际面试和工作中往往这些零碎的小知识会发挥巨大的作用。比如，面试互联网大公司时，基本每一轮面试都会考察几道算法题目；面试后台开发岗位，也一定会问到计算机网络、操作系统的知识。在工作中，我们也经常会用到一些算法的思想来解决问题，比如滑动窗口、时间轮、布隆过滤器等。</p> <p>这个阶段，我推荐大家选择主流的技术和框架进行深层次的学习，比如 <code>Java</code> 语言的 <code>SSM</code> 和 <code>SpringBoot</code> 框架。主流的技术教程多、文档多、遇到问题更容易解决，而且通常容易上手，能做出一些个人作品，增加兴趣和成就感。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236475.jpeg" loading="lazy" class="lazy"></p> <h4 id="_3-有的放矢-十年磨剑"><a href="#_3-有的放矢-十年磨剑" class="header-anchor">#</a> 3. 有的放矢，十年磨剑</h4> <p>如果你已经对某个编程语言或知识领域产生了浓厚的兴趣，或者已经能够得心应手地开发个人作品，那么恭喜你进入到下一个阶段。</p> <p>本阶段要做的是<strong>确定自己的职业方向</strong>，做到有的放矢。</p> <p>为什么没有在一开始就让大家明确目标呢？**因为确定目标的时机很重要，过早或过晚都不好。**很多人在上大学前可能对某一个职业特别憧憬，整天嚷嚷着自己一定要成为自己想成为的人，但是直到你真正接触这个职业或者其相关的知识一段时间，你可能才意识到自己并不适合。比如我小时候想当律师，整天看 <code>CCTV 12</code>，也啃了几本法律书籍，但是后来自己记性差了，而且发现自己对编程的兴趣更大，因此也放弃了之前的目标。庆幸的是，我不是在大学期间才放弃律师这个职业，没有耽误到我学习编程知识。大学时间短暂，没有太多的时间给我们去迷茫和折返。</p> <p>既然已经有了喜欢的编程技术和领域，确定职业目标就相对简单了。每个人有不同的选择，建议先从自己的兴趣出发，选择和自己的兴趣和所学技能相匹配的岗位。同时，也要考虑到目前的市场需求，最好看一些数据和调研，不要选择冷门职业。还有一些其他纳入考虑的点，比如薪资、工作时长、地点等等。确定职业后，还可以进一步地去选择公司。建议给自己定一个最高的目标，比如进入互联网大厂，要相信自己，只有饥饿的狼才能吃到美味的饭。</p> <p>确定好职业目标后，就要根据职业，堆积打磨自己的技术栈。<strong>这是一个十年磨剑的过程，重在坚持。</strong></p> <p>首先要确认你的目标岗位需要哪些相关的技术，推荐直接到大互联网公司的招聘官网来看对某岗位的技术要求，比如 <code>Java</code> 开发可以看阿里和美团官网、<code>C++</code> 看腾讯官网、<code>Golang</code> 或 <code>PHP</code> 看字节跳动官网。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236696.png" loading="lazy" class="lazy">腾讯招聘全栈开发方向的岗位要求</p> <p>知道要重点学习哪些技术后，要制定一个明确的计划，将大的目标拆解为依次去学习每项小的技术，可以参考网上的一些<strong>学习路线</strong>，按照主次对技术知识进行排序，并规定好学习每个技术花费的时间，从而有一个整体预期，少走弯路。而不是杂乱无章地去学习，主次不分。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236482.png" loading="lazy" class="lazy">制定学习计划</p> <p>比如 <code>Java</code> 后台开发岗位一般会要求 <code>Java</code> 基础编程、<code>Java</code> 并发编程、数据库、计算机网络、操作系统、设计模式等，相应的技术栈可以是：<code>Java</code>、<code>MySQL</code>、<code>SSM</code> 框架、<code>Redis</code>、<code>Linux</code> 等等。确定技术栈后，要按照计划，对每一项技术进行全面且系统的学习，推荐阅读一些经典书籍，比如 <code>Java</code> 可以看《 Java 核心技术卷 1 》、《 Java 编程思想 》等。</p> <p>如果要进大公司，编程学习就不能仅仅止步于 “会用”，而是要懂得 “巧用”、“精用”，甚至能够对知识点进行复刻和创造。比如学习 <code>MySQL</code> 要去了解其底层的数据结构和调优策略，学习 <code>Spring</code> 框架时要熟悉其底层的设计模式和依赖注入的原理等。更重要的是，不能纸上谈兵，要有能力去灵活运用学到的知识来开发一个项目，<strong>企业需要的是能解决实际问题的人才</strong>。</p> <p>学完这些知识后，你就可以踏实地在简历上写 “熟练运用 xxx 技术” 啦！</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236402.jpeg" loading="lazy" class="lazy">十年磨剑</p> <h4 id="_4-学以致用-宁静致远"><a href="#_4-学以致用-宁静致远" class="header-anchor">#</a> 4. 学以致用，宁静致远</h4> <p>不止针对计算机技术类岗位，互联网公司的很多其他岗位，比如产品、运营、策划，都要求学生有较强的实践能力。但是学校的课本知识多少有些过时和应试教育，大多停留在理论层面，实践创新部分还是要靠学生自我驱动。如果不懂得自学和实践，真到找工作的时候，简历上没有项目经验，空空如也，是极大的劣势。</p> <p>在学习技术的过程中，一定要边学边练，否则可能当你用心看完一本书后，打开电脑发现自己一行代码都写不出来，再回过头来翻书找代码，就浪费了不少的时间。</p> <p>刚开始动手写代码时，如果没有什么创意，不知从何开始，可以按照网上的视频教程做一个简单的 Demo（小样），并且将这些 Demo 好好保存。后面学到新的知识后，可以选择自己现有的 Demo 进行改造和包装，比如添加新的功能、优化性能等等，尽量做出完整的作品，并用这些作品去完成课程设计作业、参加作品类竞赛、申报科创项目、申请软件著作权、专利等等。如果某个作品做的非常好，甚至可以考虑将其正式上线，说不定就发家致富了呢？</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236508.jpeg" loading="lazy" class="lazy">鱼皮大学期间做的一个项目</p> <p>积累了作品，你的简历就多了 “项目经历”、“竞赛奖项” 等内容，而这些内容，是面试官非常看重的。</p> <p>在正式找工作前，建议大家先去找一份和目标岗位相关的实习。曾经看过一份校园招聘数据，数据表明，入职头条的员工中 50% 都曾经在头条实习，而网易员工中有超 70% 的同学都有实习经历。</p> <p>实习就像正式员工跳槽一样，不是非要一步登天。第一段实习经历没必要有太高的要求，但是最好要和自己的职业目标相契合，能够感受真实的企业环境、学习到很多的工作经验、在团队中实践自己的技术知识。不用担心自己水平不够，无法通过面试。其实在参加面试的过程中，能够更快、更针对性地发现自己的不足，并且在面试后进行复盘和总结，能够得到更快速的成长。</p> <p>怎么去找第一份实习呢？其实现在有很多帮助大学生找实习的正规平台，比如牛客网、实习僧 APP、找学长学姐内推、或者直接在企业招聘官网投递简历等。</p> <p><strong>宁静致远</strong> 是我个人很喜欢的一种境界，大家在找实习或者正式求职时难免会受到外界环境的影响。比如小李拿到了世界 500 强的 offer、年薪百万，或者小王成天抱怨找工作难、竞争激烈。然而这些夸耀或负面情绪和我们又有什么关系呢？就像考场里做卷子，提前交卷的一定考得最好么？谁知道最后你的分数会不会比他高呢？</p> <p>我们应该关联上下文去看待各种人事、情况和情绪，确实有很多拿到好的 offer 的同学，他们也许比你聪明，也许比你有背景，但更多的是他们曾经付出了更多的努力，舍弃了很多休闲娱乐的时间。找工作难、无法通过面试、产生负面情绪也一定是有原因导致的，企业中的面试官不会都戴有色眼镜看人，可能还是我们没有足够多的付出或者有一些失误，又或者其他人比我们更努力、更幸运。我们要做的是和优秀的同学多交流，发现他们身上的闪光点，分析他们成功的原因，向他们学习经验和方法。多和优秀的人交流，自己也会变得优秀。同时，我们要吸取每一次失败的经验教训，记录下来，多多自省。然后更重要的是，保持宁静，按照自己的规划，一步一步往前走就好。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236908.png" loading="lazy" class="lazy">保持宁静</p> <h4 id="_5-锋芒毕露-放手一搏"><a href="#_5-锋芒毕露-放手一搏" class="header-anchor">#</a> 5. 锋芒毕露，放手一搏</h4> <p>如果你已经按照上述的阶段努力过，不仅有了一定的技术知识储备、还有项目经验，或者是一段实习经历，那么恭喜，你已经具备了一定<strong>硬实力</strong>！下面你要做的就是利用一些软技巧，在求职时，将你的优势与亮点锋芒毕露。</p> <p>首先，整理一份完美的简历。简历是一个人求职的门面，即使你的口头表达能力有多优秀，见不到面试官也就毫无用处，因此要尽可能地在简历上展示自己。</p> <p>编程技术类的求职简历通常包括几个部分：</p> <ol><li><p>个人简介：包括基本信息、照片、学校、成绩等。</p></li> <li><p>个人技能：列举你熟悉的技术知识，也就是你的技术栈。</p></li> <li><p>竞赛奖项：列举你曾经参加的竞赛和获得的奖项。</p></li> <li><p>项目经历：列举你做过的项目，比如课程设计、学习作品、竞赛作品、实习项目等。</p></li> <li><p>科研学术：列举你的学术研究和科研成果。</p></li> <li><p>实习经历：介绍你的实习情况，在哪实习、做过什么、带来什么成果。</p></li></ol> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236679.png" loading="lazy" class="lazy">鱼皮当时的求职简历</p> <p>其实，编写简历是有很多技巧的，下面列举一些常用技巧：</p> <ol><li>简历必须一页，排版整洁，保持清爽，且色调不宜过暗或过亮，可以使用淡蓝色 。</li> <li>要分析自己的个人优势，对各板块排序，把亮点放上面 。</li> <li>简历上的文字内容精炼，用词尽量专业，拒绝口语化，你的简历终究是要给专业的面试官看的，不用担心他看不懂。</li> <li>项目、实习经历介绍中，可用 STAR 分析（场景、任务、行动、成果）来梳理自己的核心工作，其中，成果最重要，最好列举明确的数据，比如使用 xx 技术将项目的并发量提升了 30%。每个项目的介绍不宜过长，给面试官提问的空间。</li> <li>利用简历去引导面试官。很多面试官都会从简历中挑选他感兴趣的项目或技术去展开提问，因此必须足够熟悉写到简历中的项目和技术，并提前想好对策。比如项目中用了哪些技术，为什么用，有什么亮点，怎么去优化等。</li> <li>写完简历后，自己通读几遍并找专业的 HR 来进行点评，还可以多阅读借鉴他人的简历。</li> <li>针对不同的岗位和岗位描述，准备不同的简历，在部分细节和内容上调整。比如投递产品和运营岗，你的项目和实习介绍就要分别侧重这两种不同的职位。</li> <li>内容允许适度夸大，但绝对不能欺骗！这个小技巧尤其适用于没有特别多的项目的同学，但也要注意不要被面试官戳破哦。</li></ol> <p>准备好简历后，要多多练习自我介绍。自我介绍的重点是通过讲述自己的校园经历、学习过程、竞赛、实习、研究等来突出你的<strong>学习能力、沟通能力及解决问题的能力</strong>。其他的部分，如个人性格，用几个成语带过就好，属于正确的废话。自我介绍快结束时一定要提及自己最擅长的方向、项目或技术，很多面试官都会从自我介绍展开提问。</p> <p>面试是应聘者和面试官之间的博弈，一场完美的面试是由你来引导面试官，让他对你产生兴趣、产生信赖，而不是被他牵着鼻子走。至于你是第一次来面试还是老油条，从自我介绍就可知一二了。</p> <p>面试过程中，在不过分夸大的前提下，大胆展示自己吧！很多面试官都喜欢爱思考、善于交流、有发散思维、有执行力的同学。</p> <p>编程技术岗位的面试通常会要求写算法题，所以一定要每天坚持刷几个小时左右的算法，这里推荐 LeetCode 算法刷题平台，以树、链表、动态规划、栈、队列、深度优先搜索、广度优先搜索等知识为主。如果是线下面试，面试官可能会给你一张白纸，让你在上面写出算法代码；如果是线上面试，可能会使用一些在线面试平台，要求程序能够正确执行，难度会更大。但是无论何种形式，都不要慌，由于时间有限，一定要理解题意，想清楚在写，字迹公正、缩进得当。即使做不出来，也要试探性地向面试官说出自己的想法，通常面试官会给出友好的提示。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236592.jpeg" loading="lazy" class="lazy">面试</p> <p>还有一点非常重要！要记得提前关注自己目标公司的招聘时间，多数互联网公司虽说 “金九银十” ，但是很多公司的提前批从 7-8 月份就开始面试和录用了，因此必须提早准备，合理安排日程。建议大家争取下大公司暑期实习的 offer，有机会直接转正，拿到转正 offer 后再去其他公司面试说话都自信了很多。</p> <p>最后，不要过度自信，也不要盲目悲观。要多投递一些企业，多一个机会、多一个选择总是好的。不要觉得麻烦，毕竟都已经努力那么久了，放手一搏吧！</p> <h4 id="_6-归纳总结-方法唯上"><a href="#_6-归纳总结-方法唯上" class="header-anchor">#</a> 6. 归纳总结，方法唯上</h4> <p>归纳总结不仅仅是在学习编程或者求职中，是我们一生都要去坚持的好习惯。学到了知识，要总结；完成了项目，要总结；参加了竞赛，要总结；每天的实习工作，要总结。只要是你做过的有意义的事，无论成功或失败，都值得总结。</p> <p>有的同学会认为总结和写文档一样，没有必要浪费时间。但实际上，总结并不是草草写一下就完事了，而是要针对某件事，从零开始全面复盘，回顾目标、回顾工作、提问自己 <code>5why</code>（为什么要这样做，而不是那样做？等等）、针对优缺点进行分析、思考如何改进完善等。</p> <p>通过归纳总结，可以减少重复错误、优化工作、发散思维，最终提炼出一套适合自己的学习工作方法论。有了高效系统的方法，也能帮助你在今后的工作中快速适应和晋升。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236649.jpeg" loading="lazy" class="lazy"></p> <p>写完总结后，必须进行存储，推荐使用云盘，比如腾讯微云、阿里云盘、OneDrive、印象笔记等，方便自己去查阅和回顾。学了知识不总结，或者写了总结不存储，就像是小熊掰棒子，徒做无用功。</p> <p>此外，总结不止是给自己看的，也同样能帮助到他人。尤其对于公司来说，技术方案和工作总结有着巨大的意义。几乎所有企业，大到公司，小到个人，都会维护自己的知识库，沉淀技术和业务的同时，也方便给新人提供参考和指导。</p> <p>值得一提的是，很多同学抱怨自己的工作过于重复，无法成长。我觉得工作必然会重复，但重复不代表无法成长，如何从工作中提炼共性、多提出想法来改进现状，才是值得考虑和关注的。</p> <h4 id="_7-春风化雨-颗粒归仓"><a href="#_7-春风化雨-颗粒归仓" class="header-anchor">#</a> 7. 春风化雨，颗粒归仓</h4> <p>如今，我们生活在一个万物互联的时代，各种编程网课、培训资料、项目实战、开放源码、线上直播课等，为我们营造了春风化雨的学习环境，我们应该充分利用这些资源，分类收藏，颗粒归仓。</p> <p>但有时资源过多，也会对我们造成困扰。因此，我们要有选择地使用资源，看的多了，自然能分辨好坏；要注重信息时效性，比如学习新框架时，尽量不要看出版超过 1 年的书籍。</p> <p>此外，除了这些静态资源。我们还可以在线上线下，多认识一些优秀的前辈和小伙伴们，和大家一起学习讨论，甚至可以合作参加比赛，开发一些作品。毕竟一个人坚持会很孤单，如果在编程学习的路上，和一些小伙伴一起前行，到时收获的就不止有编程能力的提升，还有更重要的友谊。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236536.jpeg" loading="lazy" class="lazy"></p> <h4 id="总结"><a href="#总结" class="header-anchor">#</a> 总结</h4> <p>其实学习编程和求职的过程就像是做了一次大数据推荐。</p> <p>起初，你面前有太多的编程知识和技术，眼花缭乱，不禁感到迷茫。然后通过一段时间的学习和摸索，你对编程产生了一定的兴趣，开始挑选几个相对感兴趣的技术去学习，过滤掉了一些不感兴趣的技术。随着你学的知识越来越多，你的喜好也逐渐明朗，你开始为自己确定求职目标，确定了主要学习编程语言和技术方向。而后你需要日复一日坚持学习编程，并通过项目实战、参加竞赛、找实习等方式提升自己的编程实践能力。最后放手一搏，将自己的技术展现给面试官，并成功地通过面试，找到自己心仪的工作。</p> <p>整个过程中，你的每个行为其实都会影响最后的面试结果，从而决定你的就业去向。究竟面试官能不能从海量人选中锁定你呢？</p> <hr> <p>学习编程和求职的道路并不平坦，我们会无数次因为写不出程序而发愁、因为一个小的漏洞而熬夜、因为面试失败而否定自己；但是同样会因为程序的成功执行而欣喜、因为漏洞的修复而欢呼、因为通过面试而自豪。</p> <p>你现在做的每个努力，都有意义。</p> <p><img alt="" data-src="https://pic.yupi.icu/5563/202311051236608.jpeg" loading="lazy" class="lazy"></p></div> <footer class="page-edit" style="margin:0;"><div class="edit-link"><a href="https://github.com/liyupi/codefather/edit/master/编程分享/入门必看-学习路线/编程入门到进大厂，你需要这套学习架构.md" target="_blank" rel="noopener noreferrer">完善页面</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <div class="last-updated"><span class="prefix">最近更新:</span> <span class="time">11/11/2023, 8:17:47 PM</span></div></footer> <!----></div> <div class="toc-container-sidebar"><div class="pos-box"><div class="icon-arrow"></div> <div class="scroll-box" style="max-height:86vh"><div style="font-weight:bold;">编程入门到进大厂，你需要这套学习架构</div> <hr> <div class="toc-box"><!----></div></div></div></div></div>  <main class="footer"> <div class="copy-right"><span class="name"> 编程导航   |     </span> <a target="_blank" rel="noreferrer">
          
        </a></div></main></main> <aside class="page-sidebar"> <div class="page-side-toolbar"></div>  </aside></div><div class="global-ui"><!----></div></div>
    <script src="/assets/js/app.12ab4756.js" defer></script><script src="/assets/js/2.fd06b53e.js" defer></script><script src="/assets/js/154.9c6bb079.js" defer></script>
  </body>
</html>
